Ubuntu 18.04实现自建本地Mirror源

您所在的位置:网站首页 apt policy dmcg Ubuntu 18.04实现自建本地Mirror源

Ubuntu 18.04实现自建本地Mirror源

2023-12-02 15:27| 来源: 网络整理| 查看: 265

企业内网,很多机器不方便直接去外网安装和更新,所以想到了自建Ubuntu Mirror的想法。最开始不知道实现方法,网上上搜索了很多文章,借鉴了很多做法。最后发现,网上别人成功的方法只能借鉴,没法照搬。每一个不同环境实现Mirror都会有不同的差异,但是大道同归,主题思路是差不多的。下面分享我总结和整理的方法。

一、安装Ubuntu 18.04,此过程步骤跳过。

二、安装apt-mirror:

sudo apt-get install apt-mirror

因为最后是通过Web的方式提供源文件,所以我们也把nginx安装了:

sudo apt-get install nginx

安装完apt-mirror后,会在/etc/apt下产生一个mirror.list文件,我们需要在里面设置数据根目录 :

sudo vi /etc/apt/mirror.list

编辑mirror.list文件:

set base_path /var/spool/apt-mirror # # set mirror_path $base_path/mirror # set skel_path $base_path/skel # set var_path $base_path/var # set cleanscript $var_path/clean.sh # set defaultarch # set postmirror_script $var_path/postmirror.sh # set run_postmirror 0 # 20个线程同时下载 set nthreads 20 set _tilde 0

保存退出,就可以开始下载离线镜像包了。不过下载前,我们需要先确认自己网络环境,确认是去ubuntu官网同步下载速度,如何很慢的话,建议要更改为国内源,国内源很多,有ubuntu国内官方源,也有一些大学和大厂自建的源。下面网址收录了官网和国内源的地址,大家根据自己喜爱选择,建议选择官网、aliyun、清华:

模板:18.04source - Ubuntu中文

mirror.list里面默认是国外官网的镜像地址,我修改为国内官网的镜像地址,过程中发现cn.archive.ubuntu.com速度其实很慢,反而直接使用archive.ubuntu.com更改。这还是跟自己的网路环境有关系,因为同步文件数百G,建议大家一定要选好镜像地址。镜像文件目录,因为是测试,我只选择了main、security、updates。

deb http://cn.archive.ubuntu.com/ubuntu bionic main restricted universe multiverse deb http://cn.archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse deb http://cn.archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse clean http://cn.archive.ubuntu.com/ubuntu

以上准备好以后,我们开始进行同步:

sudo apt-mirror

这个过程要等很久,同步文件有几百G,大家要提前规划好server磁盘空间。也注意专线频宽占用。

同步完成后,接下来我们开始配置HTTP访问,前面我们安装了nginx,先要调整配置:

先打开配置文件:

sudo vi /etc/nginx/sites-enabled/default

编辑文件内容,主要设定服务端口,autoindex on;调整根目录。

server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; autoindex on; root /var/spool/apt-mirror/mirror/; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html;

保存配置后,我们看看nginx配置是否成功:

sudo nginx -t 成功后有如下提示: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

如果测试通过,表示配置文件没有问题,那么就可以开启服务:

sudo service nginx restart

通过web可以成功访问:http://localhost 。

三、客户端验证,打开客户端(18.04)source文件:

sudo vi /etc/apt/source.list

将source.list中的网址替换为内网的Ubuntu mirror网址:

deb http://yourservername/ubuntu bionic main restricted universe multiverse deb http://yourservername/ubuntu bionic-security main restricted universe multiverse deb http://yourservername/ubuntu bionic-updates main restricted universe multiverse

更新镜像源缓存:

sudo apt-get update

客户端安装测试:

sudo apt-get install nginx

验证安装来源:

sudo apt policy nginx nginx: Installed: 1.14.0-0ubuntu1.9 Candidate: 1.14.0-0ubuntu1.9 Version table: *** 1.14.0-0ubuntu1.9 500 500 http://yourservername/ubuntu bionic-updates/main amd64 Packages 500 http://yourservername/ubuntu bionic-security/main amd64 Packages 100 /var/lib/dpkg/status 1.14.0-0ubuntu1 500 500 http://yourservername/ubuntu bionic/main amd64 Packages

四、此外,还可以在mirror server设置定时更新镜像源,我们需要配置apt-mirror每天定时同步,其实就是配置cron。这里apt-mirror提供了cron模板文件,在/etc/cron.d/apt-mirror 中:

0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

PS:注意目录要根据自己的安装目录配置。每台Ubuntu安装后因分区差异,目录都略有不同。

五、以上过程,很多方法都是网上自学的,如果不足之处,望予以指正。极少有ubuntu 自建mirror需求,如有使用,您可以选择作为实现参考方法。镜像URL需要根据自己使用的client架构选择,URL可以参考aliyun、清华等给出的建议URL地址。谢谢!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3